package edu.ucsur.tp.negocio.mantenimientos;

import java.util.ArrayList;
import java.util.List;

import edu.ucsur.tp.beans.UsuarioBean;
import edu.ucsur.tp.dao.DAOFactory;
import edu.ucsur.tp.dao.UsuarioDAO;

public class UsuarioNego {
  
  private DAOFactory daoFactory = DAOFactory.getFactory(DAOFactory.DATA_MYBATIS);
  
  public List<UsuarioBean> obtenerUsuarios() {
    UsuarioDAO usuarioDao = daoFactory.getUsuario();
    List<UsuarioBean> lista = usuarioDao.obtenerTodos();
    return lista;
  }
  
  public UsuarioBean getUsuario(String IdUsuario){
	  UsuarioDAO usuarioDao = daoFactory.getUsuario();
	  return usuarioDao.obtener(IdUsuario);
  }
  
  public List<String> insertarUsuario(UsuarioBean usu) {
    List<String> errores = new ArrayList<String>();
    if (usu.getId_usuario() == null || usu.getId_usuario().equals("")) {
      errores.add("Debe ingresar el Codigo del Usuario");
    }
    if (usu.getNombres() == null || usu.getNombres().equals("")) {
      errores.add("Debe ingresar el Nombre del Usuario");
    }
    if (usu.getApellidos() == null || usu.getApellidos().equals("")) {
      errores.add("Debe ingresar el Apellido del Usuario");
    }
    //-- Si tiene errores, devolver la lista de errores 
    if (errores.size() > 0) {
      return errores;
    }
    //-- Si no tiene errores, insertar el usuario
    UsuarioDAO usuarioDao = daoFactory.getUsuario();
    usuarioDao.insertar(usu);
    return null;
  }

  public List<String> listaPerfiles(){
	  UsuarioDAO usuarioDao = daoFactory.getUsuario();
	  List<String> lista = usuarioDao.ListaPerfiles();
	  return lista;
  }
  
  public boolean loginUsuario(String user, char[] pass){
	  UsuarioDAO oUser = daoFactory.getUsuario();
	  return oUser.UserLogin(user, pass);
  }
  
  public boolean loginUsuario(String user, String pass){
	  return loginUsuario(user, pass.toCharArray());
  }
}
